#include <iostream>
#include <algorithm>
#include <numeric>
#include <vector>

int main(void)
{
    int numbers[10];
    std::iota(numbers, numbers + 10, 100); //用来方便地生成有序序列。这个序列中的元素会以初始值(100)的基础上递增的
    for(int & i : numbers) std::cout << '\t' << i;

    std::cout << std::endl;


    ///============================

    std::vector<int> v = {1, 2, 5, 7, 9, 4};

    auto result = std::minmax_element(v.begin(), v.end()); //同时获取最大值和最小值的算法，该函数会将最大值和最小值的迭代器放到一个pair中返回。另外，该函数还有一个重载形式，拥有第三个参数，第三个参数是 : 接受范围内的两个元素作为参数并返回可转换为 bool 的值的二元函数。返回的值指示作为第一个参数传递的元素是否被认为小于第二个。可以是函数指针或函数对象。
    std::cout << *result.first << "\t" << *result.second << std::endl; 

    return 0;

}
